/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.uoc.tds.pac4.test;

import edu.uoc.tds.pac4.DAO.GestorDisc;
import edu.uoc.tds.pac4.beans.Usuari;
import edu.uoc.tds.pac4.common.GestioEventsException;
import edu.uoc.tds.pac4.interfaces.RemoteInterface;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Properties;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Yolanda Jiménez Anaya
 */
public class testMantenimiento {


    protected RemoteInterface remot;
    private Connection connexio;
    private boolean isConnectat;


    public boolean test() throws RemoteException {


	         try {
			if (!testInsertaUsuario()) {
				return false;
			}
			if (!testModificaUsuario()) {
				return false;
			}
			if (!testBajaUsuario()) {
				return false;
			}
			if (!testAltaCentro()) {
				return false;
			}
			if (!testModificaCentro()) {
				return false;
			}
			if (!testBajaCentro()) {
				return false;
			}
			if (!testBuscaUsuarios()) {
				return false;
			}
			if (!testBuscaCentro()) {
				return false;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}


		return true;
	}



    private boolean testInsertaUsuario() {
       return true;
    }

    private boolean testModificaUsuario() {
       return true;
    }

    private boolean testBajaUsuario() {
        return true;
    }

    private boolean testAltaCentro() {
        return true;
    }

    private boolean testModificaCentro() {
        return true;
    }

    private boolean testBajaCentro() {
       return true;
    }

    private boolean testBuscaUsuarios() {
        System.out.println("Dentro de testBuscaUsuarios \n");

        try {
            System.out.println("1 \n");
            Vector<Usuari> currentUsuari = null;

            System.out.println("2 \n");
            currentUsuari = remot.getUsuaris(true);
            System.out.println("3 \n");
            for (Usuari usuario : currentUsuari) {
	    	 System.out.println("Nombre: " +usuario.getNom() +"\n");
	    	}
        } catch (RemoteException ex) {
              Logger.getLogger(testMantenimiento.class.getName()).log(Level.SEVERE, null, ex);
        } catch (GestioEventsException ex) {
            Logger.getLogger(testMantenimiento.class.getName()).log(Level.SEVERE, null, ex);
        }

        return true;
    }

    private boolean testBuscaCentro() {

        return true;
    }

         public static void main(String[] args) throws RemoteException {

		RemoteInterface remoto = null;
                testMantenimiento gestorUsuario = new testMantenimiento();

                 try{
                      System.out.println("Iniciando ...");
			remoto = (RemoteInterface)Naming.lookup("rmi://localhost/eGestioEvents");
                      System.out.println("Servidor encontrado, conectando...");
                 } catch (Exception e) {
			e.printStackTrace();
		}

         if (!gestorUsuario.test()) {
             System.err.println("No se han pasado todos los test");
             System.exit(-1);
         } else {
             System.out.println("Se han pasado todos los test correctamente");
             System.exit(0);
         }


    }//fin main
}
